共计 811 个字符,预计需要花费 3 分钟才能阅读完成。
提醒:本文最后更新于 2024-08-26 17:30,文中所关联的信息可能已发生改变,请知悉!
多方面的降噪检测
多尺度降噪
为了方便进行多尺度降噪,我将降噪函数的接口进行修改,最终封装在 denoise.py
中。
其中,对外开放的函数是:denoise(img_address, color=0, k=1)
img_address
:图像地址
color
:决定图片以何种形式读入(如 BGR/ 灰度),默认为灰度
k
:多尺度指数(决定缩小几倍),默认为 1
代码示例:
# python3.8
# utf-8
from denoise import *
if __name__ == '__main__':
denoise('img_noise.png', 1, 2)
存在的问题
该算法将抽离出的小图直接进行修改,并打回原图,而在边缘部分,因缩小而造成的信息损失会使修改不一定合理,如下图所示:
可以看到在噪声被去除的同时,边缘部分会变得不平滑,反而产生一些噪声,这一点,在下面的“降噪合理性”中,也被证明。
所以这也应证了我一开始的猜想:不应该对小图直接修改,而是应该将小图中被标记的噪声也同样标记到大图中,统一处理。
降噪合理性
这部分,我同样做了接口调整,并封装在 rationality.py
中
其中,有两个函数:
qufendu(origin_address, denoise_address) # 求区分度
chayidu(origin_address, denoise_address) # 求差异度
代码示例:
# python3.8
# utf-8
import rationality as rtn
if __name__ == '__main__':
rtn.qufendu('img_noise.png', 'denoised_img_noise.png')
rtn.chayidu('img_noise.png', 'denoised_img_noise.png')
效果:
正文完